package service;

import bean.Book;
import dao.BookDao;
import java.util.List;
import util.StringUtil;



//封装图书管理业务逻辑  @author
public class BookService {
    private BookDao bookDao;
    public BookService() {
        bookDao = new BookDao();
    }
    /*/
    根据图书编号查询图书信息
    @param id 图书编号
    @return Book
     */
    public Book queryBookById(String id){
        return bookDao.queryBookById(id);
    }


    /*
    添加一个图书信息
    @param book   图书信息
    @return  boolean true 成功 false 失败
     */
    public boolean addBook(Book book){
        return bookDao.addBook(book);
    }


    /*
    修改图书信息
    @param book    图书信息  图书编号必须相同，其他字段为修改后的值
    @return  boolean true 成功 false 失败
     */
    public boolean modBook(Book book){
        return bookDao.modBook(book);
    }

     /*
    删除指定图书
    @param book    图书信息  图书编号必须相同
    @return  boolean true 成功 false 失败
     */
     public boolean delBook(Book book){
         return bookDao.delBook(book);
     }


     /*
    按条件查询所有图书
    四种条件：图书编号，名称，作者，出版社
    @param where   为空，查询所有
    @return  List
     */
     public List<Book> queryAllBooksByWhere(Book where){
         if (where == null){
             return bookDao.queryBooks();
         }
         String strId = where.getId();
         String strName = where.getName();
         String strAuthor = where.getAuthor();
         String strPub = where.getPublisher();
         String sql = "1=1 ";

         if (StringUtil.hasLength(strId)){
             sql += " and id='" + strId + "'";
         }
         if (StringUtil.hasLength(strName)){
             sql += " and name like '%" + strName + "%'";
         }
         if (StringUtil.hasLength(strAuthor)){
             sql += " and author like '%" + strAuthor + "%'";
         }
         if (StringUtil.hasLength(strPub)){
             sql += " and publisher like '%" + strPub + "%'";
         }
         return bookDao.queryBooksByWhere(sql);
     }
}
